package cn.hznc.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.Table;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 工序工艺表
 *
 * @Author Administrator
 * @Date 2023/3/13 15:08
 */
@Getter
@Setter
@Table(name = "t_process_craft")
@TableName(value = "t_process_craft")
public class ProcessCraftEntity {
    /**
     * 系统id
     */
    @Column(name = "id",type = MySqlTypeConstant.INT,length = 11,isKey = true,isAutoIncrement = true)
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 工艺名称
     */
    @Column(name = "name", type = MySqlTypeConstant.VARCHAR, length = 200)
    private String name;

    /**
     * 工艺编码
     */
    @Column(name = "code", type = MySqlTypeConstant.VARCHAR, length = 200)
    private String code;

    /**
     * 工艺内容
     */
    @Column(name = "content", type = MySqlTypeConstant.VARCHAR, length = 200)
    private String content;

    /**
     * 工艺序列
     */
    @Column(name = "seq", type = MySqlTypeConstant.TINYINT)
    private Integer seq;

    /**
     * 工序编码
     */
    @Column(name = "process_code", type = MySqlTypeConstant.VARCHAR, length = 200)
    @TableField("process_code")
    private String processCode;

    /**
     * 版本号
     */
    @Column(name = "version", type = MySqlTypeConstant.INT,length = 11)
    private Integer version;

    /**
     * 关联子程序的版本号
     */
    @Column(name = "connect_subprogram_version", type = MySqlTypeConstant.INT,length = 11)
    private Integer connectSubprogramVersion;

    /**
     * 主程序编码
     */
    @Column(name = "program_code", type = MySqlTypeConstant.VARCHAR, length = 200)
    @TableField("program_code")
    private String programCode;

    /**
     * 图号
     */
    @Column(name = "figure_no", type = MySqlTypeConstant.VARCHAR, length = 200)
    @TableField(value = "figure_no")
    private String figureNo;

    /**
     * 计划数量
     */
    @Column(name = "craft_plan_number", type = MySqlTypeConstant.INT, length = 5)
    @TableField(value = "craft_plan_number")
    private Integer craftPlanNumber;

    /**
     * 未分配数量
     */
    @Column(name = "craft_unallocated_number", type = MySqlTypeConstant.INT, length = 5)
    @TableField(value = "craft_unallocated_number")
    private Integer craftUnallocatedNumber;

    /**
     * 单个任务耗时
     */
    @Column(name = "single_time_consuming", type = MySqlTypeConstant.DECIMAL, length = 14)
    @TableField(value = "single_time_consuming")
    private BigDecimal singleTimeConsuming;

    /**
     * 调整
     */
    @Column(name = "adjust", type = MySqlTypeConstant.DOUBLE, length = 5)
    @TableField(value = "adjust")
    private Double adjust;

    /**
     * 工序状态
     */
    @Column(name = "processes_status", type = MySqlTypeConstant.INT, length = 11)
    @TableField(value = "processes_status")
    private Integer processesStatus;

    /**
     * 开始时间
     */
    @Column(name = "start_time", type = MySqlTypeConstant.DATETIME)
    @TableField(value = "start_time")
    private Date startTime;

    /**
     * 结束时间
     */
    @Column(name = "end_time", type = MySqlTypeConstant.DATETIME)
    @TableField(value = "end_time")
    private Date endTime;


    /**
     * 计划时间
     */
    @Column(name = "plan_time", type = MySqlTypeConstant.VARCHAR , length =  50)
    @TableField(value = "plan_time")
    private String planTime;

    /**
     * 在制数量
     */
    @Column(name = "in_process_number", type = MySqlTypeConstant.INT , length =  10)
    @TableField(value = "in_process_number")
    private Integer inProcessNumber;

    /**
     * 合格数量
     */
    @Column(name = "qualified_number", type = MySqlTypeConstant.INT , length =  10)
    @TableField(value = "qualified_number")
    private Integer qualifiedNumber;

    /**
     * 转入数量
     */
    @Column(name = "inbound_number", type = MySqlTypeConstant.INT , length =  10)
    @TableField(value = "inbound_number")
    private Integer inboundNumber;

    /**
     * 废品数量
     */
    @Column(name = "rejected_number", type = MySqlTypeConstant.INT , length =  10)
    @TableField(value = "rejected_number")
    private Integer rejectedNumber;

    /**
     * 在制天数
     */
    @Column(name = "in_process_time", type = MySqlTypeConstant.INT , length =  10)
    @TableField(value = "in_process_time")
    private Long inProcessTime;


}
